/**
 *  Copyright 23.07.2012 oliver.keusemann@googlemail.com
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package de.xelerity.geolessi.srv.impl.poi;

import java.util.HashMap;
import de.xelerity.geolessi.types.mixed.MaxSizeHashMap;
import de.xelerity.geolessi.types.poi.HaltestellenIDProvider;

public class HalteStelleIDMapperImpl {

	private static MaxSizeHashMap<String, String> HalteStellenMapper = new MaxSizeHashMap<String, String>(2500);

	private static HashMap<HaltestellenIDProvider, MaxSizeHashMap<String, String>> MAPS = new HashMap<HaltestellenIDProvider, MaxSizeHashMap<String, String>>();

	public static void addMapping(String MeineStadtHSID, String BahnHSID) {
		if (MeineStadtHSID == null || MeineStadtHSID.trim().length() <= 0) {
			return;
		}
		if (BahnHSID == null || BahnHSID.trim().length() <= 0) {
			return;
		}

		HalteStellenMapper.put(MeineStadtHSID.toLowerCase().trim(), BahnHSID.toLowerCase().trim());
	}

	// public static void addMapping(HaltestellenIDProvider pVonProvider , String pVonValue,
	// HaltestellenIDProvider pNachProvider , String pNachValue)
	// {
	// if(pVonProvider==null||pNachProvider==null||pNachValue==null||pVonValue==null)
	// return;
	//
	// MaxSizeHashMap<String, String> maxSizeHashMap = MAPS.get(pVonProvider);
	//
	// if(MeineStadtHSID==null||MeineStadtHSID.trim().length()<=0)
	// return;
	// if(BahnHSID==null||BahnHSID.trim().length()<=0)
	// return;
	//
	// HalteStellenMapper.put(MeineStadtHSID.toLowerCase().trim(), BahnHSID.toLowerCase().trim());
	// }
	//

	public static String getBahnHSID(String MeineStadtHSID) {
		if (MeineStadtHSID == null || MeineStadtHSID.trim().length() <= 0) {
			return "";
		}

		String ret = HalteStellenMapper.get(MeineStadtHSID.toLowerCase().trim());
		if (ret != null && MeineStadtHSID.trim().length() > 0) {
			return ret;
		}

		// TODO

		return "";

	}

	public static void main(String[] args) {

	}

}
